package com.cmwa.solution.business.product.entity;

import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.type.Alias;

import com.cmwa.solution.base.entity.BaseVo;
import com.cmwa.solution.utils.cached.DictionaryCached;

/**
 * 子产品基本信息表实体
 * 
 * @author ex-jiangtao
 * @date 2019-02-19 20:16:41
 */
@Alias("subProductInfoVo")
public class SubProductInfoVo extends BaseVo {
	    
    /**
     * 子产品内部编码(产品编码+3位数字)
	 */
    private String subPrdCode; 
	    
    /**
     * 产品内部编码
	 */
    private String prdcode; 
	    
    /**
     * 子产品简称
	 */
    private String subFundSname; 
	    
    /**
     * 子产品全称
	 */
    private String subFundLname; 
	    
    /**
     * 基金代码
	 */
    private String fundCode; 
	    
    /**
     * 经办人ID
	 */
    private String createId; 
	    
    /**
     * 经办时间
	 */
    private String createTime; 
	    
    /**
     * 修改人ID
	 */
    private String modifyId; 
	    
    /**
     * 修改时间
	 */
    private String modifyTime; 
	    
    /**
     * 复核人ID
	 */
    private String checkId; 
	    
    /**
     * 复核时间
	 */
    private String checkTime; 
	    
    /**
     * 子产品过程状态(SUB_PRD_STAT)
	 */
    private String subPrdPrcStatus; 
	    
    /**
     * 状态
	 */
    private String status; 
	    
    /**
     * 货币类型
	 */
    private String currencyType; 
    
    private String currencyTypeNm;
	    
    /**
     * 赎回规则
	 */
    private String redemptionRule; 
	    
    /**
     * 初始面值
	 */
    private String initParValue; 
	    
    /**
     * 募集期利息处理方式(0:不计息,1:利息折份额 2:归基金资产，默认0)
	 */
    private String intMode; 
    
    private String intModeNm;
	    
    /**
     * 是否有前期支付费用(0:否 1：是 默认否)
	 */
    private String isBeforePayFee; 
    
    private String isBeforePayFeeNm;
	    
    /**
     * 认购起点（个人）
	 */
    private String indBookStart; 
	    
    /**
     * 认购起点（机构）
	 */
    private String insBookStart; 
	    
    /**
     * 认购步幅
	 */
    private String bookStep; 
	    
    /**
     * 认购费率
	 */
    private String bookFeeRate; 
	    
    /**
     * 申购起点（个人）
	 */
    private String indDeclareStart; 
	    
    /**
     * 申购起点（机构）
	 */
    private String insDeclareStart; 
	    
    /**
     * 申购步幅
	 */
    private String declareFeeRate; 
	    
    /**
     * 申购费率
	 */
    private String applyStep; 
	    
    /**
     * 赎回费率
	 */
    private String redeemFeeRate; 
	    
    /**
     * 违约退出费率
	 */
    private String breachFeeRate; 
	    
    /**
     * 风险级别
	 */
    private String riskLevel; 
			
	/**
     * 子产品内部编码(产品编码+3位数字)
	 */
    public String getSubPrdCode () {
        return subPrdCode;
    }
    public void setSubPrdCode (String subPrdCode) {
        this.subPrdCode = subPrdCode;
    }
		
	/**
     * 产品内部编码
	 */
    public String getPrdcode () {
        return prdcode;
    }
    public void setPrdcode (String prdcode) {
        this.prdcode = prdcode;
    }
		
	/**
     * 子产品简称
	 */
    public String getSubFundSname () {
        return subFundSname;
    }
    public void setSubFundSname (String subFundSname) {
        this.subFundSname = subFundSname;
    }
		
	/**
     * 子产品全称
	 */
    public String getSubFundLname () {
        return subFundLname;
    }
    public void setSubFundLname (String subFundLname) {
        this.subFundLname = subFundLname;
    }
		
	/**
     * 基金代码
	 */
    public String getFundCode () {
        return fundCode;
    }
    public void setFundCode (String fundCode) {
        this.fundCode = fundCode;
    }
		
	/**
     * 经办人ID
	 */
    public String getCreateId () {
        return createId;
    }
    public void setCreateId (String createId) {
        this.createId = createId;
    }
		
	/**
     * 经办时间
	 */
    public String getCreateTime () {
        return createTime;
    }
    public void setCreateTime (String createTime) {
        this.createTime = createTime;
    }
		
	/**
     * 修改人ID
	 */
    public String getModifyId () {
        return modifyId;
    }
    public void setModifyId (String modifyId) {
        this.modifyId = modifyId;
    }
		
	/**
     * 修改时间
	 */
    public String getModifyTime () {
        return modifyTime;
    }
    public void setModifyTime (String modifyTime) {
        this.modifyTime = modifyTime;
    }
		
	/**
     * 复核人ID
	 */
    public String getCheckId () {
        return checkId;
    }
    public void setCheckId (String checkId) {
        this.checkId = checkId;
    }
		
	/**
     * 复核时间
	 */
    public String getCheckTime () {
        return checkTime;
    }
    public void setCheckTime (String checkTime) {
        this.checkTime = checkTime;
    }
		
	/**
     * 子产品过程状态(SUB_PRD_STAT)
	 */
    public String getSubPrdPrcStatus () {
        return subPrdPrcStatus;
    }
    public void setSubPrdPrcStatus (String subPrdPrcStatus) {
        this.subPrdPrcStatus = subPrdPrcStatus;
    }
		
	/**
     * 状态
	 */
    public String getStatus () {
        return status;
    }
    public void setStatus (String status) {
        this.status = status;
    }
		
	/**
     * 货币类型
	 */
    public String getCurrencyType () {
        return currencyType;
    }
    public void setCurrencyType (String currencyType) {
        this.currencyType = currencyType;
    }
		
	/**
     * 赎回规则
	 */
    public String getRedemptionRule () {
        return redemptionRule;
    }
    public void setRedemptionRule (String redemptionRule) {
        this.redemptionRule = redemptionRule;
    }
		
	/**
     * 初始面值
	 */
    public String getInitParValue () {
        return initParValue;
    }
    public void setInitParValue (String initParValue) {
        this.initParValue = initParValue;
    }
		
	/**
     * 募集期利息处理方式(0:不计息,1:利息折份额 2:归基金资产，默认0)
	 */
    public String getIntMode () {
        return intMode;
    }
    public void setIntMode (String intMode) {
        this.intMode = intMode;
    }
		
	/**
     * 是否有前期支付费用(0:否 1：是 默认否)
	 */
    public String getIsBeforePayFee () {
        return isBeforePayFee;
    }
    public void setIsBeforePayFee (String isBeforePayFee) {
        this.isBeforePayFee = isBeforePayFee;
    }
		
	/**
     * 认购起点（个人）
	 */
    public String getIndBookStart () {
        return indBookStart;
    }
    public void setIndBookStart (String indBookStart) {
        this.indBookStart = indBookStart;
    }
		
	/**
     * 认购起点（机构）
	 */
    public String getInsBookStart () {
        return insBookStart;
    }
    public void setInsBookStart (String insBookStart) {
        this.insBookStart = insBookStart;
    }
		
	/**
     * 认购步幅
	 */
    public String getBookStep () {
        return bookStep;
    }
    public void setBookStep (String bookStep) {
        this.bookStep = bookStep;
    }
		
	/**
     * 认购费率
	 */
    public String getBookFeeRate () {
        return bookFeeRate;
    }
    public void setBookFeeRate (String bookFeeRate) {
        this.bookFeeRate = bookFeeRate;
    }
		
	/**
     * 申购起点（个人）
	 */
    public String getIndDeclareStart () {
        return indDeclareStart;
    }
    public void setIndDeclareStart (String indDeclareStart) {
        this.indDeclareStart = indDeclareStart;
    }
		
	/**
     * 申购起点（机构）
	 */
    public String getInsDeclareStart () {
        return insDeclareStart;
    }
    public void setInsDeclareStart (String insDeclareStart) {
        this.insDeclareStart = insDeclareStart;
    }
		
	/**
     * 申购步幅
	 */
    public String getDeclareFeeRate () {
        return declareFeeRate;
    }
    public void setDeclareFeeRate (String declareFeeRate) {
        this.declareFeeRate = declareFeeRate;
    }
		
	/**
     * 申购费率
	 */
    public String getApplyStep () {
        return applyStep;
    }
    public void setApplyStep (String applyStep) {
        this.applyStep = applyStep;
    }
		
	/**
     * 赎回费率
	 */
    public String getRedeemFeeRate () {
        return redeemFeeRate;
    }
    public void setRedeemFeeRate (String redeemFeeRate) {
        this.redeemFeeRate = redeemFeeRate;
    }
		
	/**
     * 违约退出费率
	 */
    public String getBreachFeeRate () {
        return breachFeeRate;
    }
    public void setBreachFeeRate (String breachFeeRate) {
        this.breachFeeRate = breachFeeRate;
    }
		
	/**
     * 风险级别
	 */
    public String getRiskLevel () {
        return riskLevel;
    }
    public void setRiskLevel (String riskLevel) {
        this.riskLevel = riskLevel;
    }
	public String getCurrencyTypeNm() {
		if (StringUtils.isNotBlank(currencyType)) {
			return  DictionaryCached.getInstance().getDictionaryName(
				"CURRENCY_TYPE",
				"CURRENCY_TYPE",
				"CURRENCY_TYPE", currencyType);
		}
		return currencyTypeNm;
	}
	public void setCurrencyTypeNm(String currencyTypeNm) {
		this.currencyTypeNm = currencyTypeNm;
	}
	public String getIntModeNm() {
		if (StringUtils.isNotBlank(intMode)) {
			return  DictionaryCached.getInstance().getDictionaryName(
			"INT_MODE",
			"INT_MODE",
			"INT_MODE", intMode);
		}
		return intModeNm;
	}
	public void setIntModeNm(String intModeNm) {
		this.intModeNm = intModeNm;
	}
	public String getIsBeforePayFeeNm() {
		if (StringUtils.isNotBlank(isBeforePayFee)) {
			return  DictionaryCached.getInstance().getDictionaryName(
			"IS_E_CONTRACT",
			"IS_E_CONTRACT",
			"IS_E_CONTRACT", isBeforePayFee);
		}
		return isBeforePayFeeNm;
	}
	public void setIsBeforePayFeeNm(String isBeforePayFeeNm) {
		this.isBeforePayFeeNm = isBeforePayFeeNm;
	}
		
}
